package net.maku.generator.domain.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 数据表
 *
 * @author 阿沐 babamu@126.com
 * <a href="https://maku.net">MAKU</a>
 */
@Data
@TableName("gen_table")
public class TableEntity {

    /**
     * 表ID主键自增
     */
    @TableId
    private Long id;

    /**
     * 数据库名
     */
    private String databaseName;

    /**
     * 表名
     */
    private String tableName;

    /**
     * 实体类名称
     */
    private String className;

    /**
     * 功能名
     */
    private String tableComment;

    /**
     * 项目ID
     */
    private Long projectId;

    /**
     * 项目名称
     */
    @TableField(exist = false)
    private String projectName;

    /**
     * 功能名
     */
    private String functionName;

    /**
     * 项目版本号
     */
    private String version;

    /**
     * 表模板组ID
     */
    @TableField(exist = false)
    private Long tableTemplateGroupId;

    /**
     * 表模板组名称
     */
    @TableField(exist = false)
    private String tableTemplateGroupName;

    /**
     * 作者
     */
    private String author;

    /**
     * 表单布局
     */
    private Integer formLayout;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 生成方式（0-zip压缩包，1-服务器本地）
     */
    @TableField(exist = false)
    private Integer generatorType;

    /**
     * 字段列表
     */
    @TableField(exist = false)
    private List<TableFieldEntity> fieldList;

    /**
     * 是否存在
     */
    @TableField(exist = false)
    private Boolean exist;

}
